import Vue from 'vue';
import axios from 'axios';

// 创建axios实例
const service = axios.create({
    baseURL:process.env.BASE_URL, //配置的开发环境和线上环境地址
    timeout: 5000 // 请求超时时间
})

// request拦截器
service.interceptors.request.use(config => {

    return config
}, error => {
    // 请求错误时做些事(接口错误、超时等)

    // 在调用的那边可以拿到(catch)你想返回的错误信息
    return Promise.reject(error)
})

// respone拦截器
service.interceptors.response.use(response => {
    console.log('err' + response)// for debug

    return response;
}, error => {
    console.log('err' + error)// for debug

    return Promise.reject(error)
})

Plugin.install = function (Vue, options) {
    Vue.axios = service;
    window.axios = service;
    Object.defineProperties(Vue.prototype, {
      axios: {
        get() {
          return service;
        },
      },
      $axios: {
        get() {
          return service;
        },
      },
    });
  };
  
  Vue.use(Plugin);
  
  export default Plugin;
  